import pandas as pd

# Load the CSV file into a DataFrame
df = pd.read_csv('merge_data1.csv')
# Extract the required columns
extracted_data = df[['货品类型', '销售员名称', '发货记录完成时间', '货款', '发货吨位']]
# Split the data based on 货品类型 values 0 and 1
data_type_0 = extracted_data[extracted_data['货品类型'] == 0]
data_type_1 = extracted_data[extracted_data['货品类型'] == 1]
# Group by 销售员名称 and sum the 货款 and 发货吨数 columns
grouped_data = extracted_data.groupby('销售员名称').agg({'货款': 'sum', '发货吨位': 'sum'}).reset_index()

# Filter the rows where 发货记录完成时间 contains "2023"
filtered_data = extracted_data[extracted_data['发货记录完成时间'].str.contains("2023")]

# Save the filtered data to a new CSV file
file_path = "filtered_data_2023.csv"
filtered_data.to_csv(file_path, index=False)
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# Plotting the summed 货款 for each 销售员名称
plt.figure(figsize=(15, 8))
plt.bar(grouped_data['销售员名称'], grouped_data['货款'], color='skyblue')
plt.xlabel('销售员名称')
plt.ylabel('货款总和')
plt.title('相同销售员名称对应的货款总和')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# Filter the data where 货品类型 is 0
data_type_0_filtered = data_type_0.groupby('销售员名称').agg({'货款': 'sum'}).reset_index()

# Plotting the summed 货款 for each 销售员名称 where 货品类型 is 0
plt.figure(figsize=(15, 8))
plt.bar(data_type_0_filtered['销售员名称'], data_type_0_filtered['货款'], color='lightgreen')
plt.xlabel('销售员名称')
plt.ylabel('货款总和')
plt.title('货品类型为0的相同销售员名称对应的货款总和')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# Filter the data where 货品类型 is 1
data_type_1_filtered = data_type_1.groupby('销售员名称').agg({'货款': 'sum'}).reset_index()

# Plotting the summed 货款 for each 销售员名称 where 货品类型 is 1
plt.figure(figsize=(15, 8))
plt.bar(data_type_1_filtered['销售员名称'], data_type_1_filtered['货款'], color='lightcoral')
plt.xlabel('销售员名称')
plt.ylabel('货款总和')
plt.title('货品类型为1的相同销售员名称对应的货款总和')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# Filter the data where 货品类型 is 0 and group by 销售员名称 to sum the 发货吨位
data_type_0_tons = data_type_0.groupby('销售员名称').agg({'发货吨位': 'sum'}).reset_index()

# Plotting the summed 发货吨位 for each 销售员名称 where 货品类型 is 0
plt.figure(figsize=(15, 8))
plt.bar(data_type_0_tons['销售员名称'], data_type_0_tons['发货吨位'], color='mediumpurple')
plt.xlabel('销售员名称')
plt.ylabel('发货吨位总和')
plt.title('货品类型为0的相同销售员名称对应的发货吨位总和')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()
# Filter the data where 货品类型 is 1 and group by 销售员名称 to sum the 发货吨位
data_type_1_tons = data_type_1.groupby('销售员名称').agg({'发货吨位': 'sum'}).reset_index()

# Plotting the summed 发货吨位 for each 销售员名称 where 货品类型 is 1
plt.figure(figsize=(15, 8))
plt.bar(data_type_1_tons['销售员名称'], data_type_1_tons['发货吨位'], color='mediumseagreen')
plt.xlabel('销售员名称')
plt.ylabel('发货吨位总和')
plt.title('货品类型为1的相同销售员名称对应的发货吨位总和')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()